home *** CD-ROM | disk | FTP | other *** search
/ Mission 3 / Mission 3.zip / Mission 3.iso / zugabe / va45 / visual45 / library / extend / string.s < prev    next >
Text File  |  1998-05-16  |  2KB  |  62 lines

  1.  
  2.     ifd LIB_CHANGE_CASE
  3. ;------------------------------------------------------------------------------
  4. ; Method name : -
  5. ; Asm label   : GWVA_STRING_PUT_IN_UPPERCASE_0
  6. ; Description : Change le case en majuscule jusqu'au 1er 0.b
  7. ; Asm label   : GWVA_STRING_PUT_IN_UPPERCASE
  8. ; Description : Change le case en majuscule jusqu'à une valeur donnée
  9. ; in  : a0.l = pointeur sur la chaine (terminé par 0.b pour GWVA_STRING_PUT_IN_UPPERCASE_0)
  10. ; in  : d0.w = identifiant de fin de chaine (pour GWVA_STRING_PUT_IN_UPPERCASE)
  11. ;
  12. ; 16/05/98 : Création
  13. ;------------------------------------------------------------------------------
  14. GWVA_STRING_PUT_IN_UPPERCASE_0:
  15.     clr.b d0
  16. GWVA_STRING_PUT_IN_UPPERCASE:
  17.     clr d1
  18. .next:    move.b (a0)+,d1
  19.     cmp.b d0,d1
  20.     beq.s .fin
  21.     cmp.w #'a',d1
  22.     blt.s .next
  23.     cmp.w #'z',d1
  24.     bgt.s .next
  25.     sub.b #'a'-'A',d1
  26.     move.b d1,-1(a0)
  27.     bra.s .next
  28.  
  29. .fin:    rts
  30.  
  31. ;------------------------------------------------------------------------------
  32. ; Method name : -
  33. ; Asm label   : GWVA_STRING_PUT_IN_LOWERCASE_0
  34. ; Description : Change le case en minuscule jusqu'au 1er 0.b
  35. ; Asm label   : GWVA_STRING_PUT_IN_LOWERCASE
  36. ; Description : Change le case en minuscule jusqu'à une valeur donnée
  37. ; in  : a0.l = pointeur sur la chaine (terminé par 0.b pour GWVA_STRING_PUT_IN_LOWERCASE_0)
  38. ; in  : d0.w = identifiant de fin de chaine (pour GWVA_STRING_PUT_IN_LOWERCASE)
  39. ;
  40. ; 16/05/98 : Création
  41. ;------------------------------------------------------------------------------
  42. GWVA_STRING_PUT_IN_LOWERCASE_0:
  43.     clr.b d0
  44. GWVA_STRING_PUT_IN_LOWERCASE:
  45.     clr d1
  46. .next:    move.b (a0)+,d1
  47.     cmp.b d0,d1
  48.     beq.s .fin
  49.     cmp.w #'A',d1
  50.     blt.s .next
  51.     cmp.w #'Z',d1
  52.     bgt.s .next
  53.     add.b #'a'-'A',d1
  54.     move.b d1,-1(a0)
  55.     bra.s .next
  56.  
  57. .fin:    rts
  58.  
  59.     endc    ; ifd LIB_CHANGE_CASE
  60.